home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / lang / amigatalk.lha / intuition / Icon.st < prev    next >
Text File  |  2002-03-14  |  8KB  |  245 lines

  1. "------------------------------------------------------------------"
  2. " Icon Class implements control of Amiga Workbench Icons           "
  3. " Chances are that Glyph is the wrong parent class for this class. "
  4. "------------------------------------------------------------------"
  5.  
  6. Class Icon :Glyph ! private iconName !
  7. [
  8.    editToolTypes ! temp !
  9.       temp <- <primitive 219 2 iconName>.
  10.       
  11.       (temp ~= true)
  12.          ifTrue: ['ToolTypesEditor NOT found!' print]
  13. |      
  14.    displayIconInfo ! temp !
  15.       temp <- <primitive 219 3 private iconName>.
  16.       
  17.       (temp ~= nil)
  18.         ifTrue: ['Method displayIconInfo returned', temp print]
  19. |
  20.    displayIconImages
  21.       <primitive 219 4 private iconName>
  22. |
  23.    setIconPosition: newPoint ! nx ny chk !
  24.       nx  <- newPoint x.
  25.       ny  <- newPoint y. 
  26.       chk <- <primitive 219 5 private iconName nx ny>.
  27.  
  28.       (chk ~= nil)
  29.          ifTrue: ['Method setIconPosition returned ', chk print]
  30. |
  31.    moveIcon: deltaPoint ! dx dy chk !
  32.       dx  <- deltaPoint x.
  33.       dy  <- deltaPoint y. 
  34.       chk <- <primitive 219 6 private iconName dx dy>.
  35.  
  36.       (chk ~= nil)
  37.          ifTrue: ['Method moveIcon returned ', chk print]
  38. |
  39.    editIcon: externalEditorName
  40.       (<primitive 219 7 iconName externalEditorName> ~= true)
  41.          ifTrue: ['Method editIcon: ',externalEditorName, 'did NOT run!' print]
  42. |
  43.    addToolType: toolString
  44.       (<primitive 219 8 private iconName toolString> == false)
  45.         ifTrue: ['ToolType ', toolString, 'NOT added!' print]
  46. |
  47.    deleteToolType: toolString
  48.       (<primitive 219 9 private iconName toolString> == false)
  49.         ifTrue: ['ToolType ', toolString, 'NOT deleted!' print]
  50. |
  51.    getIconWidth
  52.       ^ <primitive 219 10 private>
  53. |
  54.    getIconHeight
  55.       ^ <primitive 219 11 private>
  56. |
  57.    getIconFlags
  58.       ^ <primitive 219 12 private>
  59. |
  60.    getIconImageObject
  61.       ^ <primitive 219 13 private>
  62. |
  63.    getIconAlternateImageObject
  64.       ^ <primitive 219 14 private>
  65. |
  66.    getIconType
  67.       "  Valid types are:
  68.  
  69.          WBDISK     = 1
  70.          WBDRAWER   = 2
  71.          WBTOOL     = 3
  72.          WBPROJECT  = 4
  73.          WBGARBAGE  = 5
  74.          WBDEVICE   = 6
  75.          WBKICK     = 7
  76.          WBAPPICON  = 8
  77.       "
  78.       ^ <primitive 219 15 private>
  79. |
  80.    getDefaultIcon: iconType
  81.       ^ <primitive 219 36 iconType>  " See getIconType comments for iconType "
  82. |
  83.    newDiskObject: iconType
  84.       ^ <primitive 219 41 iconType>  " See getIconType comments for iconType "
  85. |
  86.    getNewDiskObject: iconName
  87.       ^ <primitive 219 38 iconName>
  88. |
  89.    getDefaultTool
  90.       ^ <primitive 219 16 private>
  91. |
  92.    getStackSize
  93.       ^ <primitive 219 17 private>
  94. |
  95.    getWindowWidth
  96.       ^ <primitive 219 18 private>
  97. |
  98.    getWindowHeight
  99.       ^ <primitive 219 19 private>
  100. |
  101.    getWindowTopEdge
  102.       ^ <primitive 219 20 private>
  103. |
  104.    getWindowLeftEdge
  105.       ^ <primitive 219 21 private>
  106. |
  107.    getIconBounds: diskObj   for: rectObj from: windowObj label: labelStr tags: tagArray
  108.       " labelStr can be nil for this method "
  109.       ^ <primitive 219 48 windowObj diskObj labelStr rectObj tagArray>
  110. |
  111.    setIconWidth: newWidth
  112.       (<primitive 219 22 private iconName newWidth> ~= true)
  113.          ifTrue: ['Method setIconWidth: ', newWidth, ' failed!' print]
  114. |
  115.    setIconHeight: newHeight
  116.       (<primitive 219 23 private iconName newHeight> ~= true)
  117.          ifTrue: ['Method setIconHeight: ', newHeight, ' failed!' print]
  118. |
  119.    setIconFlags: newFlags
  120.       (<primitive 219 24 private iconName newFlags> ~= true)
  121.          ifTrue: ['Method setIconFlags: ', newFlags, ' failed!' print]
  122. |
  123.    setIconImage: imageObject
  124.       (<primitive 219 25 private iconName imageObject> ~= true)
  125.          ifTrue: ['Method setIconImage: failed!' print]
  126. |
  127.    setIconAlternateImage: imageObject
  128.       (<primitive 219 26 private iconName imageObject> ~= true)
  129.          ifTrue: ['Method setIconAlternateImage: failed!' print]
  130. |
  131.    setIconType: newType
  132.       "  Valid types are:
  133.  
  134.          WBDISK     = 1
  135.          WBDRAWER   = 2
  136.          WBTOOL     = 3
  137.          WBPROJECT  = 4
  138.          WBGARBAGE  = 5
  139.          WBDEVICE   = 6
  140.          WBKICK     = 7
  141.          WBAPPICON  = 8
  142.       "
  143.       (<primitive 219 27 private iconName newType> ~= true)
  144.          ifTrue: ['Method setIconType: ', newType, ' failed!' print]
  145. |
  146.    setDefaultTool: newDefaultTool
  147.       (<primitive 219 28 private iconName newDefaultTool> ~= true)
  148.          ifTrue: ['Method setDefaultTool: ', newDefaultTool, ' failed!' print]
  149. |
  150.    setStackSize: newStackSize
  151.       (<primitive 219 29 private iconName newStackSize> ~= true)
  152.          ifTrue: ['Method setStackSize: ', newStackSize, ' failed!' print]
  153. |
  154.    setWindowWidth: newWidth
  155.       (<primitive 219 30 private iconName newWidth> ~= true)
  156.          ifTrue: ['Method setWindowWidth: ', newWidth, ' failed!' print]
  157. |
  158.    setWindowHeight: newHeight
  159.       (<primitive 219 31 private iconName newHeight> ~= true)
  160.          ifTrue: ['Method setWindowHeight: ', newHeight, ' failed!' print]
  161. |
  162.    setWindowTopEdge: newTopEdge
  163.       (<primitive 219 32 private iconName newTopEdge> ~= true)
  164.          ifTrue: ['Method setWindowTopEdge: ', newTopEdge, ' failed!' print]
  165. |
  166.    setWindowLeftEdge: newLeftEdge
  167.       (<primitive 219 33 private iconName newLeftEdge> ~= true)
  168.          ifTrue: ['Method setWindowLeftEdge: ', newLeftEdge, ' failed!' print]
  169. |
  170.    readInAsciiImage: fileName
  171.       (<primitive 219 34 private iconName fileName> ~= true)
  172.          ifTrue: ['Method readInAsciiImage: ', fileName, ' failed!' print]
  173. |
  174.    writeAsciiImage: fileName
  175.       (<primitive 219 35 private fileName> ~= true)
  176.          ifTrue: ['Method writeAsciiImage: ', fileName, ' failed!' print]
  177. |
  178.    iconControl: diskObject tags: tagArray
  179.       ^ <primitive 219 42 diskObject tagArray> " diskObject can be nil "
  180. |
  181.    findToolType: toolName in: diskObj
  182.       ^ <primitive 219 45 diskObj toolName>
  183. |
  184.    matchTool: toolTypeString to: toolValueStr
  185.       ^ <primitive 219 46 toolTypeString toolValueStr>
  186. |
  187.    storeDefaultIcon: diskObject
  188.       ^ <primitive 219 37 diskObject>
  189. |
  190.    duplicateDiskObject: diskObject tags: tagArray
  191.       ^ <primitive 219 40 diskObject tagArray>
  192. |
  193.    drawIcon: diskObj on: windowObj label: labelStr at: sPoint inState: whichState 
  194.                                                                  tags: tagArray
  195.    ! xOffset yOffset !
  196.    " labelStr can be nil for this method "
  197.  
  198.       xOffset <- sPoint x.
  199.       yOffset <- sPoint y.
  200.       
  201.       <primitive 219 43 windowObj diskObj labelStr xOffset yOffset whichState tagArray>
  202. |
  203.    layoutIcon: diskObj on: screenObj tags: tagArray
  204.       ^ <primitive 219 44 diskObj screenObj tagArray>  " screenObj can be nil "
  205. |
  206.    bumpRevision: oldName to: newName
  207.       " newName HAS to be a String object of at least 31 characters in length 
  208.       * Just create it with:  newName <- String new: 32
  209.       "
  210.       ^ <primitive 219 47 newName oldName>
  211. |
  212.    changeColorToSelectedIconColor: colorRegisterObj
  213.       " See icon.library docs for ChangeToSelectedIconColor() function "
  214.       <primitive 219 53 colorRegisterObj>
  215. |
  216.    disposeFreeList: freeListObj
  217.       <primitive 219 51 freeListObj>
  218. |
  219.    add: memoryObj toFreeList: freeListObj size: size
  220.       ^ <primitive 219 52 freeListObj memoryObj size>
  221. |
  222.    deleteDiskObject: iconName
  223.       ^ <primitive 219 39 iconName>
  224. |
  225.    closeIcon ! chk !
  226.       chk <- <primitive 219 0 private iconName>.
  227.  
  228.       (chk ~= nil)
  229.         ifTrue: ['Icon Object was NOT written out!' print]
  230. |
  231.    storeIcon: diskObj named: iconName tags: tagArray
  232.       ^ <primitive 219 50 iconName diskObj tagArray>
  233. |
  234.    openIcon: iconFileName
  235.       iconName <- iconFileName.
  236.  
  237.       ^ private  <- <primitive 219 1 iconFileName>.
  238. |
  239.    getIcon: iconName tags: tagArray
  240.       " iconName can be nil for this method "
  241.       ^ private <- <primitive 219 49 iconName tagArray>  
  242. |
  243.    new: iconFileName
  244.       ^ (self openIcon: iconFileName) 
  245. ]